1. Technical Field
The present invention relates generally to power management and peripheral connection wakeup signaling, and more particularly, to peripheral connection wakeup power management in a processing system supporting multiple virtual machines.
2. Description of the Related Art
Present-day computing systems, and in particular large-scale server systems, often include support for running multiple virtual machines. The system may be a large-scale on-demand server system that executes hundreds of server instances on a single hardware platform to support customers with varying computing requirements. In the most flexible of these systems, multiple partitions, which may differ in operating system and application mix, are concurrently present in system memory and processes executing in each partition are run in an environment that supports their execution on a guest operating system. The virtual machine provides an environment similar enough to a real hardware platform that the operating system can run with little or no modification. A hypervisor (sometimes referred to as a virtual machine monitor) manages all of the virtual machines or partitions and abstracts system resources so that each partition provides a machine-like environment to each operating system instance. Peripherals connected to the system can be transferred between logical partitions, as the hardware interface is common amongst the virtual machines. Typically peripherals such as network adapters are transferred instead of shared, as the state of the adapter must be completely reset before hand-off between virtual machines and network activity may be present that will alter the state of the adapter during transfer. Therefore, multiple partition systems such as those described above usually assign a particular partition to an adapter such as an Ethernet adapter and do not permit transfer of ownership between partitions.
Power management in multiple partition systems is a complex task and introduces several complications with respect to strategies, components and subsystems designed for a single-partition system. In particular, wakeup signaling provided by a peripheral connection such as a Wake-On-LAN enabled Ethernet connection can be handled by the fixed partition assignment mentioned-above, but it would be desirable to transfer ownership of an Ethernet adapter between logical partitions. However, the typical connection of Wake-On-LAN detection circuitry in an Ethernet adapter (and other similar adapters that can cause recovery from a power-down state) is a signal line provided directly to the system power supply that causes the system power to be restored, causing a complete system restart. Further examples exist of peripheral connections having wakeup power management capability. U.S. Pat. No. 6,622,178, the specification of which is incorporated herein by reference, describes a mechanism for powering up or resuming operation of a computer system in response to activity on a universal serial bus (USB) connection.
In a multiple partition system, the entire system may or may not be powered down, some partitions may be active, and depending on the desired use of the Wake-On-LAN indication, only the logical partition owning the adapter receiving the Wake-On-LAN signal (or other similar wakeup peripheral signal) may be affected. Also, if the system is powered down, it may not be desirable to have the entire system brought back on line if the logical partition owning the adapter receiving the wakeup signal is considered low priority.
Therefore, it would be desirable to provide a mechanism for managing peripheral connection wakeup and ownership in a processing system supporting multiple virtual machines.